
/**
 * 创建时间: 2020/6/28 14:14
 * 作者:lixu
 * 功能描述:处理发送逻辑
 * 修改时间:
 * 修改描述:
 */
public class SendHandler {
    private let TAG = String(describing:SendHandler.self)
//
//    /**
//     * 封装待发送的消息
//     *
//     * @param taskID        任务ID
//     * @param userContext   透传字段msgId
//     * @param reqBuffer
//     * @param errCode
//     * @param channelSelect
//     */
    // ByteArrayOutputStream reqBuffer
    public func onPackageSendMsg( taskID:Int,userContext:AnyObject) ->Data{
       
        let taskWrapper = TaskHandler.getInstance().getTask(taskId: taskID, userContext: userContext);
        
        if (taskWrapper == nil) {
            IMLog.e(tag: TAG, msg: "req2Buf taskWrapper is nil");
        } else {
            //客户端发送消息到服务器
            do {
                var json:String?;
                    
                    let jsonData = try JSONSerialization.data(withJSONObject:  taskWrapper!.msgDic, options: .prettyPrinted)
                    json = String(data: jsonData, encoding: String.Encoding.utf8)
                   // json = JSON.toJSONString(taskWrapper.msgBean);
                    IMLog.i(tag:TAG,msg: "req2Buf taskID:\(taskID)   content:\(String(describing: json))");
//                }

                let bytes = ProtocolUtil.packagingToBeByteArraySentMsg(cmdId: Int(taskWrapper!.task!.cmdid), msg: json!);
//                reqBuffer.write(data);
                return NSData.init(bytes: bytes, length: bytes.count) as Data;
            } catch _ {
                // _ 的用法
                //swift extension中扩展的用法
                //swift protocol的用法
            
            }
        }
        return Data.init();
    }

}
